Alpha max plus beta min algorithm

The alpha max plus beta min algorithm is a high-speed approximation of the square root of the sum of two squares. That is to say, it gives the approximate absolute magnitude of a vector given the real and imaginary parts.

 |V| = \sqrt{ I^2 %2B Q^2 }

The algorithm avoids the necessity of performing the square and square-root operations and instead uses simple operations such as comparison, multiplication and addition. Some choices of the α and β parameters of the algorithm allow the multiplication operation to be reduced to a simple shift of binary digits that is particularly well suited to implementation in high-speed digital circuitry.

The approximation is expressed as:

 |V| = \alpha\,\! \mathbf{Max} %2B  \beta\,\! \mathbf{Min}

Where \mathbf{Max} is the maximum absolute value of I and Q and \mathbf{Min} is the minimum absolute value of I and Q.

For the closest approximation, the optimum values for \alpha\,\! and \beta\,\! are \alpha_0 = \frac{2 \cos \frac{\pi}{8}}{1 %2B \cos \frac{\pi}{8}} = 0.96043387... and \beta_0 = \frac{2 \sin \frac{\pi}{8}}{1 %2B \cos \frac{\pi}{8}} = 0.39782473..., giving a maximum error of 3.96%.

\alpha\,\! \beta\,\! Largest error (%) Mean error (%)
1/1 1/2 11.80 8.68
1/1 1/4 11.61 0.65
1/1 3/8 6.80 4.01
7/8 7/16 12.5 4.91
15/16 15/32 6.25 1.88
\alpha_0 \beta_0 3.96 1.30

References